// pages/upload/upload.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
      printerId: null,
      fileName: null,
      filePath: null,
      
      // 打印参数
      printOptions: {
        copies: 1,
        isDuplex: false,
        isColor: false,
        pageSize: 'A4'
      },
  
      // 用于picker选择器
      pageSizes: ['A4', 'A3']
    },
  
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
      if (options.printerId) {
        this.setData({
          printerId: options.printerId
        });
      } else {
        // 如果没有printerId，提示错误并返回上一页
        wx.showToast({
          title: '参数错误',
          icon: 'none',
          duration: 2000,
          complete: () => {
            wx.navigateBack();
          }
        });
      }
    },
  
    /**
     * 选择文件
     */
    chooseFile: function () {
      wx.chooseMessageFile({
        count: 1, // 只能选择一个文件
        type: 'file', // 可选择任意类型的文件
        success: (res) => {
          const tempFile = res.tempFiles[0];
          this.setData({
            fileName: tempFile.name,
            filePath: tempFile.path
          });
        },
        fail: (err) => {
          console.log('用户取消选择', err);
        }
      });
    },
  
    /**
     * 更新打印份数
     */
    onCopiesChange: function (e) {
      this.setData({
        'printOptions.copies': Number(e.detail.value)
      });
    },
  
    /**
     * 更新是否双面打印
     */
    onDuplexChange: function (e) {
      this.setData({
        'printOptions.isDuplex': e.detail.value
      });
    },
  
    /**
     * 更新是否彩色打印
     */
    onColorChange: function (e) {
      this.setData({
        'printOptions.isColor': e.detail.value
      });
    },
  
    /**
     * 更新纸张大小
     */
    onPageSizeChange: function (e) {
      this.setData({
        'printOptions.pageSize': this.data.pageSizes[e.detail.value]
      });
    },
  
    /**
     * 提交到订单确认页
     */
    submitToConfirm: function () {
      if (!this.data.filePath) {
        wx.showToast({
          title: '请先上传文件',
          icon: 'none'
        });
        return;
      }
  
      // 将打印参数和文件信息存入全局变量或缓存，传递给下一个页面
      const orderInfo = {
        printerId: this.data.printerId,
        fileName: this.data.fileName,
        filePath: this.data.filePath,
        printOptions: this.data.printOptions
      };
      
      wx.setStorageSync('orderInfo', orderInfo);
  
      wx.navigateTo({
        url: '/pages/confirm-order/confirm-order',
      });
    }
  });